import java.time.LocalDate;
import java.util.*;

public class Test {
/*    - **业务一：**

            - 有如下字符串，里面包含多个用户信息数据，现在需要你解析这个字符串，获取里面的用户数据，并封装到User对象中
    - 多个User对象在添加到List<User> 集合中
        java
    String userStrs = "10001:张三:男:1990-01-01
    #10002:李四:女:1989-01-09
    #10003:王五:男:1999-09-09
    #10004:刘备:男:1899-01-01
    #10005:孙悟空:男:1900-01-01
    #10006:张三:女:1999-01-01
    #10007:刘备:女:1999-01-01
    #10008:张三:女:2003-07-01
    #10009:猪八戒:男:1900-01-01";
       - 注意：
            - 字符串中的规则如下，多个用户用 # 拼接，用户的信息之间用 : 拼接。
            - 其中用户id和生日是需要进行类型转换的，其中id需要将String转成Long，生日需要将String转成LocalDate*/

    public static void main(String[] args) {
      String userStrs = "10001:张三:男:1990-01-01#10002:李四:女:1989-01-09#10003:王五:男:1999-09-09#10004:刘备:男:1899-01-01#10005:孙悟空:男:1900-01-01#10006:张三:女:1999-01-01#10007:刘备:女:1999-01-01#10008:张三:女:2003-07-01#10009:猪八戒:男:1900-01-01";
        List<User> users = new ArrayList<>();
      String[] arr = userStrs.split("#");
        for (String s : arr) {
            String[] arr1 = s.split(":");
            Long id = Long.valueOf(arr1[0]);
            String name = arr1[1];
            String sex = arr1[2];
            LocalDate brithday = LocalDate.parse(arr1[3]);
            User user = new User();
            user.setId(id);
            user.setGender(sex);
            user.setBirthday(brithday);
            user.setName(name);
            users.add(user);
        }
        System.out.println(users);
        Map<String , Integer> user1 = new HashMap<>();
        for (User user : users) {
            String name = user.getName();
            if (user1.containsKey(name)){
                user1.put(name , user1.get(name)+1);
            }else user1.put(name,1);
        }
        System.out.println(user1);


    }
    
}
